package cn.com.wxd.wechat.company.bean.messagebuilder;

import cn.com.wxd.wechat.company.bean.WxCpMessage;


public class BaseBuilder<T> {
	protected String msgType;
	protected String agentId;
	protected String toUser;
	protected String toParty;
	protected String toTag;

	@SuppressWarnings("unchecked")
	public T agentId(String agentId) {
		this.agentId = agentId;
		return (T) this;
	}

	@SuppressWarnings("unchecked")
	public T toUser(String toUser) {
		this.toUser = toUser;
		return (T) this;
	}

	@SuppressWarnings("unchecked")
	public T toParty(String toParty) {
		this.toParty = toParty;
		return (T) this;
	}

	@SuppressWarnings("unchecked")
	public T toTag(String toTag) {
		this.toTag = toTag;
		return (T) this;
	}

	public WxCpMessage build() {
		WxCpMessage m = new WxCpMessage();
		m.setAgentId(this.agentId);
		m.setMsgType(this.msgType);
		m.setToUser(this.toUser);
		m.setToParty(this.toParty);
		m.setToTag(this.toTag);
		return m;
	}

}
